<template>
  
</template>

<script>
import axios from 'axios'
    export default {
        name:'PxOLAxios',
        data(){
            return{
                AllOid:[],
                MyOrderData:[],
                p:0,
            }
        },
        mounted(){
            this.$addr.get(`orders/`).then(
                response=>{
                    console.log('请求获取订单信息成功',response)
                    for( let i=0, j=0; i<response.data.data.length ; i++){
                        this.AllOid[i]=response.data.data[i].oid         //先让数据遍历一下进行对比
                        if( this.AllOid[j] != response.data.data[i].oid){      //如果两个oid一样的分为一组
                            for( let m=j,n=j ; m<i ; m++,n++){        //因为要赋值所以从第j个开始进行oid的对比
                                if( this.AllOid[j] != response.data.data[n+1].oid )  //如果是不一样的oid那么把前几个赋值为一个数组去
{                               //为什么是n+1,因为m到第i个时候不再执行了,通过n+1则可以对比出来下一个正好oid不相同的数,此时可以这里的if只执行一次
                                    this.MyOrderData[this.p]=[]     //定义需要把前几个oid一样的赋值到一个数组中的数组去,不定义则报错
                                    for( let q =0,k=0,t=j; q<i-j ; q++,k++,t++){   //q<i-j是为了计算此时第this.p列的数组中相同oid的个数
                                        this.MyOrderData[this.p][k]=response.data.data[t]    //赋值成数组,第几个数组中的从0开始赋值
                                    }
                                    this.p++    //每进行一次oid的分类赋值,需要下一类oid相同的需要赋值到下一个数组中去
                                }
                            }
                            j=i     //此时是为了让从第几个开始oid不同,下一轮对比就把这个开始不同的oid拿去进行对比
                        }
                        if (this.AllOid.length == response.data.data.length ){       //最后一个不能通过对比出来,直接赋值
                            this.MyOrderData[this.p]=[]     //给第几个数组赋成数组
                            for( let q =0,k=0,t=j; q<i-j+1 ; q++,k++,t++){
                                this.MyOrderData[this.p][k]=response.data.data[t]
                            }
                        }
                    }
                    this.$bus.$emit('MyOrderData',this.MyOrderData)
                },
                error=>{
                    console.log('请求获取订单信息失败',error.message)
                }
            )
        },
    }
</script>

<style>

</style>